package com.greatwqs.wmall.user.provider.manager;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import com.greatwqs.wmall.common.module.model.LoginUser;
import com.greatwqs.wmall.user.client.enums.UserStatusType;
import com.greatwqs.wmall.user.provider.model.po.User;

/**
 * @author wang-qingsong
 */
public interface UserManager {

    User getPo(Long userId);

    User getPoNotNull(Long userId);

    User getPoByLoginId(String loginId);

    LoginUser getLoginUserNotNull(Long userId);

    Page<User> getPageByUserStatus(UserStatusType userStatus, int page, int pageSize);

    PageInfo<User> getPageInfoByUserStatus(UserStatusType userStatus, int page, int pageSize);
}